给pandas的map、apply加加速

您所在的位置:网站首页 pandas 加一行 给pandas的map、apply加加速

给pandas的map、apply加加速

#给pandas的map、apply加加速| 来源: 网络整理| 查看: 265

源于pandas做数据分析很好用,map、apply使用的也比较多,非常的耗时间。map性能优于apply我专门有文字讲解。 此次再次基础上再次提升

# 加速前 import time import pandas as pd import numpy as np def func(x): import math return math.sin(x.a**2) + math.sin(x.b**2) df_size = int(5e6) if __name__ == '__main__': time_start = time.time() df = pd.DataFrame(dict(a=np.random.randint(1, 8, df_size), b=np.random.rand(df_size))) res = df.parallel_apply(func, axis=1) time_end = time.time() print("并行代码耗时 %f s" % (time_end - time_start)) # 加速后 import time import pandas as pd import numpy as np from pandarallel import pandarallel # 导入pandaralle pandarallel.initialize() # 初始化该这个b...并行库 # 调用的函数 def func(x): import math return math.sin(x.a**2) + math.sin(x.b**2) df_size = int(5e6) if __name__ == '__main__': # 需要在 time_start = time.time() df = pd.DataFrame(dict(a=np.random.randint(1, 8, df_size), b=np.random.rand(df_size))) res = df.parallel_apply(func, axis=1) time_end = time.time() print("并行代码耗时 %f s" % (time_end - time_start))

两者运行时间可以运行做对比,加速后明显快于加速后。

介绍windows系统使用注意: (一)pandas 中的替换 apply替换parallel_apply map替换parallel_map

(二)加入 from pandarallel import pandarallel # 导入pandaralle pandarallel.initialize() # 初始化该这个b…并行库 (三)需要在main下进行运行不然会报错 (四)windows中运行 def中使用的包需要内部导入,liunx不存在这个问题。

def func(x): import math return math.sin(x.a**2) + math.sin(x.b**2)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3